home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / brief / brief.sty < prev    next >
Text File  |  1991-10-08  |  26KB  |  684 lines

  1. % This is BRIEF.STY in text format
  2. % a letter style following Dutch NEN-norms 1025, 1026, and 3162.
  3. \def\stijlversie{1.08}\def\stijldatum{5 october 1991}
  4. % Een Nederlandse briefstijl.
  5. % Deze stijl bevat meer commando's dan de LaTeX 'letter' stijl,
  6. % maar op geforceerde wijze (zie het einde van dit bestand)
  7. % is ervoor gezorgd dat een brief die met 'letter' gemaakt is,
  8. % ook door 'brief' kan rollen. Omgekeerd kan dus niet.
  9. %
  10. % Auteur:
  11. %    Victor Eijkhout
  12. %    Center for Supercomputing Research and Development
  13. %    University of Illinois at Urbana-Champaign
  14. %    305 Talbot Lab
  15. %    104 South Wright Street
  16. %    Urbana, Illinois 61801, USA
  17. %
  18. %    eijkhout@csrd.uiuc.edu
  19. %
  20. % History:
  21. % 1.02 \language omgedoopt tot \b@language
  22. % 1.03 USletter optie voor 11'' briefpapier
  23. %      enkele Duitse termen verbeterd (met dank aan Marc van Woerkom)
  24. % 1.04 Engelse vertaling van termen die niet in 'letter.sty'
  25. %      voorkomen
  26. % 1.05 Franse termen toegevoegd (met dank aan Christophe van Zwynsvoorde)
  27. % 1.07 \process@table toegevoegd voor nieuw font selectie mechanisme;
  28. % 1.08 creatie van adresveld box naar buiten groep geplaatst
  29. %      voor betere \baselineskip zetting.
  30.  
  31. \typeout{Document Stijl 'Brief'. Versie <\stijlversie>, <\stijldatum>}
  32.  
  33. \def\@ptsize{1}
  34. \@namedef{ds@10pt}{\def\@ptsize{0}}
  35. \@namedef{ds@11pt}{\def\@ptsize{1}}
  36. \@namedef{ds@12pt}{\def\@ptsize{2}}
  37. \@twosidefalse
  38. \def\ds@draft{\overfullrule 5pt}
  39.  
  40. \def\ds@USletter{\@elfinchtrue} \newif\if@elfinch
  41. \@namedef{ds@a4}{\message{De A4-optie is niet nodig:
  42. de briefstijl doet de papierafmetingen zelf.}}
  43. \def\ds@sober{}
  44.  
  45. \def\ds@typhulp{\@typhulptrue} \newif\if@typhulp
  46. \def\ds@streepjes{\@streepjestrue} \newif\if@streepjes
  47. \def\ds@adresrechts{\@adresrechtstrue} \newif\if@adresrechts
  48.  
  49. \newcount\b@language
  50. \b@language=0 % Nederlands
  51. \def\ds@engels{\b@language=1 }
  52. \def\ds@USengels{\b@language=2 }
  53. \def\ds@duits{\b@language=3 }
  54. \def\ds@frans{\b@language=4 }
  55.  
  56. \@options
  57.  
  58. \lineskip 1pt \normallineskip 1pt
  59. \def\baselinestretch{1}
  60.  
  61. %%%%%%%%%%%%%%%%%%%%%%% point size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  62. \ifcase \@ptsize\relax
  63. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
  64. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  65. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  66. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  67. \abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
  68. \abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt}
  69. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  70. \abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  71. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
  72. 2pt}
  73. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  74. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  75. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  76. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  77. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  78. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  79. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  80. \or
  81. \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt
  82. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  83. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  84. minus3pt}
  85. \def\small{\@setsize\small{12pt}\xpt\@xpt
  86. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  87. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  88. \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
  89. \abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  90. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
  91. 2pt}
  92. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  93. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  94. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  95. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  96. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  97. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  98. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  99. \or
  100. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt
  101. \abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip
  102. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  103. minus3pt}
  104. \def\small{\@setsize\small{13.6pt}\xipt\@xipt
  105. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  106. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  107. minus3pt}
  108. \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
  109. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  110. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  111. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  112. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  113. \def\large{\@setsize\large{18pt}\xivpt\@xivpt}
  114. \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt}
  115. \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
  116. \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt}
  117. \let\Huge=\huge
  118. \fi
  119. \normalsize
  120.  
  121. %%%%%%%%%%%%%%%%%%%%%% Paper Size %%%%%%%%%%%%%%%%%%%%%%%%%%
  122. %V forceer 33mm linker marge
  123. \oddsidemargin=7.6mm \evensidemargin=\oddsidemargin
  124.  
  125. %V rechter marge is volgens NEN 10mm; voor symmetrie lijkt 33 mij beter.
  126. \textwidth=144mm \@rightskip=0cm plus 5cm \rightskip=\@rightskip
  127. %V geen margin notes.
  128. \marginparwidth=0pt \marginparsep=0pt \marginparpush=0pt
  129.  
  130. %V aan de bovenkant een marge van 13mm
  131. \topmargin-12.4mm
  132. %V het briefhoofd komt tot 50mm van de bovenkant van het papier
  133. \headheight=37mm \headsep=0mm
  134. %V text height is wat er over is
  135. %\textheight=217mm %V dit kan vast beter.
  136.  
  137. \textheight=197mm %V op het timmermansoog
  138. \if@elfinch \advance\textheight by -17.6mm \fi
  139.  
  140. %V geef de gebruiker de gelegenheid andere vensters te specificeren
  141. \newdimen\vensterskip \vensterskip=50mm %% de standaard
  142. \newdimen\@vensterskip
  143. \newdimen\@firstheadheight \newdimen\@otherheadheight
  144. \newdimen\@othertextheight
  145. \newdimen\@otherheadsep \newdimen\@vervolgsep
  146. \@otherheadsep=2mm
  147. % vervolgbladen zouden daar geen last van moeten hebben, maar ik weet
  148. % nog niet hoe ik dat voor elkaar moet krijgen.
  149. %\@otherheadheight=\headheight \@othertextheight=\textheight
  150. \def\@prepareerhoofden{\@vensterskip=\vensterskip
  151.     \advance\@vensterskip by -50mm
  152.     %\advance\headheight by \@vensterskip  % werkt niet
  153.     %\advance\textheight by -\@vensterskip}
  154.     \@firstheadheight=\headheight
  155.     \@otherheadheight=\headheight %deze moet hier eigenlijk niet
  156.     \@othertextheight=\textheight %idem
  157.     }
  158.  
  159. %V voldoende scheiding tussen tekst en voetregel
  160. \newdimen\footsep \footsep=1.5cm %%analoog aan headsep
  161. %\footheight 12pt \footskip25pt %worden elders gezet.
  162.  
  163.  
  164. \columnsep 10pt \columnseprule 0pt %V twee koloms brieven? belachelijk!
  165. %%\flushbottom
  166. \raggedbottom %% hm! zonder raggedbottom gaat het slot mis.
  167.  
  168. %%%%%%%%%%%%%V we'll get to this later
  169. \footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt
  170. \floatsep 12pt plus 2pt minus 2pt
  171. \textfloatsep 20pt plus 2pt minus 4pt
  172. \intextsep 12pt plus 2pt minus 2pt
  173. \dblfloatsep 12pt plus 2pt minus 2pt
  174. \dbltextfloatsep 20pt plus 2pt minus 4pt
  175. \@maxsep 20pt
  176. \@dblmaxsep 20pt
  177. \@fptop 0pt plus 1fil
  178. \@fpsep 8pt plus 2fil
  179. \@fpbot 0pt plus 1fil
  180. \@dblfptop 0pt plus 1fil
  181. \@dblfpsep 8pt plus 2fil
  182. \@dblfpbot 0pt plus 1fil
  183.  
  184. %%%%%%%%%%%%%%%%%%%%%%%%%%% opening / afsluiting %%%%%%%%%%%%%%%%%%%%%
  185. \font\refkopfont=cmssq8
  186. \font\kleinvet=cmbx7
  187.  
  188. \def\opening#1{\thispagestyle{firstpage}
  189.                \adresveld
  190.                \prevdepth=-1000pt \vskip-2pt %% ????
  191.                \referentieregel
  192.                \@dosubject #1\par\nobreak}
  193. \def\ondertekening#1{\def\fromsig{#1}}\def\fromsig{}
  194. %V een aanzienlijke verbetering op de LL constructie: nu kun je
  195. %V de ondertekening na de afsluiting geven.
  196. \long\def\afsluiting#1{\par\nobreak\vspace{\parskip}
  197.  \stopbreaks \noindent
  198.  \ifx\@empty\fromsig
  199.      \def\ondertekening##1{\def\fromsig{##1}
  200.          \parbox{.5\textwidth}{\raggedright
  201.                  \ignorespaces #1\\[6\medskipamount] \fromsig \strut}}
  202.  \else \parbox{.5\textwidth}{\raggedright
  203.          \ignorespaces #1\\[6\medskipamount]
  204.          \fromsig \strut}
  205.  \fi \par}
  206.  
  207. \def\betreft#1{\def\@subject{#1}} \def\@subject{}
  208. \def\@dosubject{\ifx\@empty\@subject
  209.     \else \par\noindent
  210.     \parbox[t]{\textwidth}{\@hangfrom{\refkopfont \betrefttekst
  211.     \enspace}\rm\ignorespaces \@subject\strut}\par\fi}
  212. \def\ps{\par\startbreaks}
  213. \def\cc#1{\par\noindent
  214.     \parbox[t]{\textwidth}{\@hangfrom{\rm cc: }\ignorespaces
  215.     #1\strut}\par}
  216. \def\bijlage#1{\par\noindent
  217.     \parbox[t]{\textwidth}{\@hangfrom{\rm \bijlagetekst\ }\ignorespaces
  218.     #1\strut}\par}
  219. \def\bijlagen#1{\par\noindent
  220.     \parbox[t]{\textwidth}{\@hangfrom{\rm \bijlagentekst\ }\ignorespaces
  221.     #1\strut}\par}
  222. \def\stopletter{}
  223.  
  224.  
  225.  
  226. \long\def\brief#1{\newpage
  227.  \c@page\@ne
  228.  \interlinepenalty=200 \@processto{#1}
  229.  \@defrefveld{\@Ad}{\geadresseerdetekst}{\toname}
  230. %% een truc voor de datum: alleen als de gebruiker helemaal niets
  231. %  gezegd heeft krijgt hij \vandaag.
  232.  \ifdim\wd\@Dt=0cm \@defrefveld{\@Dt}{\datumtekst}{\vandaag}\fi
  233. %% misschien heeft de gebruiker een afwijkende vensterenvelop,
  234. %  en heeft hij dat opgegeven;
  235. %  er kan dus nu pas de hoogte van het hoofd bepaald worden.
  236.  \@prepareerhoofden %(lijkt wel een koppensnellersritueel)
  237. %% misschien headheight opvoeren en textheight verminderen
  238. %  voor de vervolgbladen. Nb: op het eerste blad mag niet met
  239. %  de textheight geklooid worden, omdat dan het adres op de
  240. %  verkeerde hoogte kan komen.
  241.  {\setbox\@tempboxa=\vervolghoofd
  242.   \@tempdima=\ht\@tempboxa
  243.   \advance\@tempdima by -\@otherheadheight
  244.   \ifdim\@tempdima>0cm
  245.         \global\advance\@otherheadheight by \@tempdima
  246.         \global\advance\@othertextheight by -\@tempdima \fi}
  247. %% idem voetregel bekijken
  248.  {\setbox\@tempboxa=\vbox{\voetregel}
  249.   \global\footskip=\ht\@tempboxa %%moet de teksthoogte niet minder worden?
  250.   \global\advance\footskip by \footsep}
  251.  } %V maar niet als die er als is!!!
  252.  
  253. \def\endbrief{\stopletter\@@par\pagebreak\@@par
  254.  \if@filesw \begingroup
  255.      \def\protect{\string} \let\\=\relax
  256.      \def\protect##1{\string##1\space}
  257.      \immediate\write\@auxout{\string\mlabel{\returnaddress}{\toname
  258.      \\\toaddress}}
  259.  \endgroup \fi
  260.  }
  261.  
  262. \long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty
  263.  \else \@yproc #1@@@\fi}
  264. \long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
  265. \long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
  266. \def\stopbreaks{\interlinepenalty \@M
  267.  \def\par{\@@par\nobreak}\let\\=\@nobreakcr
  268.  \let\vspace\@nobreakvspace}
  269. \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
  270. \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
  271.  \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
  272. \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
  273. \def\startbreaks{\let\\=\@normalcr
  274.  \interlinepenalty 200\relax
  275.  \def\par{\@@par\penalty 200\relax}}
  276.  
  277. % relieken van 'letter'. worden niet gebruikt.
  278. \def\name#1{\def\fromname{#1}}
  279. \long\def\address#1{\def\fromaddress{#1}}\def\fromaddress{}
  280. \def\location#1{\def\fromlocation{#1}}\def\fromlocation{}
  281. \def\telephone#1{\def\telephonenum{#1}}\def\telephonenum{}
  282. \def\returnaddress{}
  283.  
  284. \def\document{\endgroup
  285.  \@colht\textheight \@colroom\textheight \vsize\textheight
  286.  \columnwidth\textwidth \@clubpenalty\clubpenalty
  287.  \if@twocolumn \advance\columnwidth -\columnsep
  288.  \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
  289.  \fi
  290.  \hsize\columnwidth \linewidth\hsize
  291.  \begingroup\@floatplacement\@dblfloatplacement\endgroup
  292.  \if@filesw \immediate\openout\@mainaux=\jobname.aux
  293.  \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi
  294.  \csname process@table\endcsname %% new font selection scheme
  295.  \def\do##1{\let ##1\@notprerr}
  296.  \@preamblecmds
  297.  \let\do\noexpand
  298.  \@normalsize\everypar{}}
  299. \def\enddocument{\@checkend{document}\newpage\begingroup
  300.  \if@filesw \immediate\closeout\@mainaux
  301.  \makeatletter\input \jobname.aux\clearpage
  302.  \fi\endgroup\deadcycles\z@\@@end}
  303.  
  304. \def\makelabels{\@fileswtrue}\let\maaketiketten=\makelabels
  305. \def\@startlabels{}
  306. \newcount\labelcount
  307.  
  308. %%%%%%%%%%%%%%%%%%%%%%%% adresveld %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  309. \newdimen\adresveldbreedte
  310. \newif\if@antwoordadres
  311. \def\antwoordadres#1{\@antwoordadrestrue\def\@antwoordadres{#1}}
  312. \def\@antwoordadres{}
  313. \def\adresveld{\hbox{}\kern-\topskip
  314.     \kern\@vensterskip
  315.     \begingroup
  316.      \if@adresrechts \adresveldbreedte=4\refveldbreedte
  317.          \advance\adresveldbreedte by -76mm
  318.          \def\@tempa{\moveright 76mm}
  319.          \else \let\@tempa\relax \adresveldbreedte=83mm\fi
  320.      \setbox\@tempboxa= % geadresseerde plus adres
  321.             \vtop{\hsize=\adresveldbreedte \@normalsize
  322.                   \rightskip=0cm plus \adresveldbreedte
  323.                   \let\\=\@nobreakcr \toname \\ \toaddress}
  324.      \bgroup\baselineskip=0pt %% dit voorkomt tonnen problemen.
  325.             \lineskip=0pt     %% tonnetjes.
  326.       \if@antwoordadres\@tempa\vbox to 0cm{
  327.              \hbox to \adresveldbreedte{\kleinvet
  328.              \def\\{\unskip\enspace$\bullet$\enspace\ignorespaces}%
  329.              \@antwoordadres\hfil}\kern2pt
  330.              \hrule \vss}\fi
  331.       \if@typhulp \@tempa\llap{\vbox to 0cm
  332.                      {\vskip9mm\streepje\vss}} \fi
  333.       \kern9mm \kern-\ht\@tempboxa \@tempdima=\dp\@tempboxa
  334.       \@tempa\box\@tempboxa \kern-\@tempdima
  335.       \vskip31mm
  336.      \egroup\endgroup}
  337.  
  338.  
  339. %%%%%%%%%%%%%%%%%%%%%% referentieregel %%%%%%%%%%%%%%%%%%%%%%%%%%
  340. \newdimen\refveldbreedte
  341. \refveldbreedte=38mm %% 3/2 inch. zie NEN 3516
  342.  
  343. \def\@defrefveld#1#2#3{\setbox#1=\@refveld{#2}{#3}}
  344. \def\@refveld#1#2{\vtop{\hsize=\refveldbreedte \parskip=0cm
  345.                         \everypar{}%V dan kan dit in preamble!!
  346.                         \lineskiplimit=\z@ \baselineskip=12pt
  347.                         \lineskip=\z@
  348.                         \rightskip=0cm plus \refveldbreedte
  349.                                        minus .5\refveldbreedte
  350.                         \vbox{\refkopfont\baselineskip=10pt
  351.                               #1\@@par}\kern2pt
  352.                         \strut #2}}
  353.  
  354. %V referenties blijven bewaard als er meer dan 'e'en brief in
  355. %V een bestand staat.
  356. \newbox\@UB \newbox\@UK \newbox\@OK \newbox\@Dt
  357. \def\uwbriefvan#1{\@defrefveld{\@UB}{\uwbrieftekst}{#1}}
  358. \def\uwkenmerk #1{\@defrefveld{\@UK}{\uwkenmerktekst}{#1}}
  359. \def\onskenmerk#1{\@defrefveld{\@OK}{\onskenmerktekst}{#1}}
  360. \def\datum#1{\def\@tempa{}\def\@tempb{#1}\ifx\@tempa\@tempb
  361.     \setbox\@Dt\hbox{ }\else\@defrefveld{\@Dt}{\datumtekst}{#1}\fi}
  362. %V Datum word geinitialiseerd op \vandaag in \brief
  363. %V als de gebruiker verder niets doet, als hij een leeg argument opgeeft
  364. %V verschijnt er in het geheel geen datum.
  365.  
  366. \def\referentieregel{\hbox
  367.              {\hbox to \refveldbreedte{\copy\@UB\hfil}%
  368.               \hbox to \refveldbreedte{\copy\@UK\hfil}%
  369.               \hbox to \refveldbreedte{\copy\@OK\hfil}%
  370.               \hbox to \refveldbreedte{\copy\@Dt\hfil}\hss}}
  371.  
  372. \newbox\@Ad %V Geadresseerde: geinitialiseerd in \brief
  373. \def\vervolgreferentieregel{\hbox
  374.              {\hbox to \refveldbreedte{\copy\@Ad\hfil}%
  375.               \hskip\refveldbreedte
  376.               \hbox to \refveldbreedte{\copy\@Dt\hfil}%
  377.               \@refveld{\bladnummertekst}{\thepage}\hss}}
  378.  
  379. %%%%%%%%%%%%%%%%%%%%%%%%% headers / footers %%%%%%%%%%%%%%%%%%%%%%%
  380. \def\briefhoofd{}\def\vervolghoofd{\vbox{}}
  381. \def\maakbriefhoofd
  382.    {\@ifstar {\@kortvervolgbriefhoofd}{\@langvervolgbriefhoofd}}
  383. \def\@kortvervolgbriefhoofd
  384.    #1#2{
  385.     \@maakbriefhoofd{#1}{#2}
  386.     \def\vervolghoofd{\vbox{\hsize=4\refveldbreedte
  387.                          \hbox to \hsize{\Large \sf #1\strut\hfil}
  388.                          \hrule \kern2mm \vervolgreferentieregel}}}
  389. \def\@langvervolgbriefhoofd
  390.    #1#2{
  391.     \@maakbriefhoofd{#1}{#2}
  392.     \def\vervolghoofd{\vbox{\briefhoofd\vskip2mm
  393.                         \vervolgreferentieregel
  394.                         \vbox{}}}}
  395. \def\@maakbriefhoofd#1#2{\def\briefhoofd{%
  396.        \vbox{\hsize=4\refveldbreedte
  397.              \hbox to \hsize{\Large \sf #1\strut\hfil}
  398.              \hrule
  399.              \moveright 3\refveldbreedte\@refveld{\strut #2}{}
  400.              \vbox{}}}}
  401. \newbox\@voetruimte \setbox\@voetruimte=\hbox{}
  402. \newcount\@voetteller
  403. \def\voetregel{\copy\@voetruimte}
  404. \def\voetitem#1#2{\advance\@voetteller by 1
  405.     \setbox\@voetruimte=\hbox to 4\refveldbreedte
  406.            {\unhbox\@voetruimte
  407.             \ifcase\@voetteller \relax \or \relax \or
  408.                                 \hfil \else \hfill \fi
  409.             \@refveld{#1}{#2}\hskip0cm plus 3\refveldbreedte}}
  410. \def\ps@empty{
  411.     \def\@oddhead{}\def\@oddfoot{}
  412.     \def\@evenhead{}\def\@evenfoot{}}
  413. \def\ps@plain{
  414.     \def\@oddhead{}\def\@evenhead{}
  415.     \def\@oddfoot{\rm\hfil\thepage}
  416.     \let\@evenfoot=\@oddfoot}
  417. %% hss omdat de kop en voet te breed zijn.
  418. \def\@hss{\hskip 0cm plus 1filll minus 1filll\relax}
  419. \def\ps@headings{
  420.     \def\@oddhead{\vbox to \@otherheadheight
  421.                       {\vervolghoofd\vfil
  422.                        \if@streepjes\streepjes{\@otherheadheight}\fi}%
  423.                   \hss}
  424.     \let\@evenhead=\@oddhead
  425.     \def\@oddfoot{\voetregel\hss} \let\@evenfoot=\@oddfoot}
  426. \def\ps@firstpage{\global\headheight=\@otherheadheight
  427.     \global\textheight=\@othertextheight %?? werkt dit ??
  428.     \global\headsep=\@otherheadsep
  429.     \def\@oddhead{\vbox to \@firstheadheight
  430.                       {\briefhoofd\vfil
  431.                        \if@streepjes\streepjes{\@firstheadheight}\fi}%
  432.                   \hss}
  433.     \def\@evenhead{}
  434.     \def\@oddfoot{\voetregel\hss} \let\@evenfoot=\@oddfoot}
  435.  
  436. \ps@headings
  437.  
  438. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vouwstreepjes %%%%%%%%%%%%%%%%%%%%%%%%%%
  439. %% momenteel alleen envelop EN-DL-V geimplementeerd
  440. \def\streepje{\hbox to 2mm{\hrulefill}}
  441. \def\streepjes#1{\vbox to 0cm
  442.          {\kern-#1 %% dit brengt ons bovenin het briefhoofd, 13mm onder
  443.           \hbox to \textwidth                 %% de rand van het papier
  444.              {\llap{\perfstreepje\kern24mm}\hfill %% 7mm van rand op 33mm
  445.               \rlap{\kern24mm\vouwstreepjes}}     %% 7mm van rand op 33mm
  446.           \vss}}                              %% zie textwidth boven.
  447. \def\perfstreepje {\vtop{\kern\z@
  448.                          \kern 135mm %% 297/2 - 13
  449.                          \streepje}}
  450. \def\vouwstreepjes{\vtop{\kern\z@
  451.                          \kern 92mm %% 105-13
  452.                          \streepje  %% denk maar dat dit geen dikte heeft
  453.                          \kern 50mm %% 155-150
  454.                          \streepje}}
  455. %%%%%%%%%%%%%%%%%%%%%%%%%%%% lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  456. % overgenomen uit 'artikel3'
  457. \def\@listi{\leftmargin\leftmargini
  458.             \labelsep=.5em
  459.             \labelwidth=\leftmargin \advance\labelwidth by -\labelsep
  460.  \topsep=-.5\parskip plus 1pt %V half the amount of white around lists
  461.  \parsep \z@ %V defaults added
  462.  \itemsep \parsep}    %V defaults added
  463. \def\@listii{\leftmargin\leftmarginii \labelsep=.5em
  464.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep
  465.  \topsep=-.5\parskip plus 1pt %V half the amount of white around lists
  466.  \parsep \z@ %V zeroed
  467.  \itemsep \parsep}
  468. \def\@listiii{\leftmargin\leftmarginiii \labelsep=.5em
  469.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  470.  \topsep=-.5\parskip plus 1pt %V half the amount of white around lists
  471.  \parsep \z@
  472.  \partopsep \z@ %V zeroed
  473.  \itemsep \topsep}
  474. \def\@listiv{\leftmargin\leftmarginiv \labelsep=.5em
  475.  \topsep=-.5\parskip plus 1pt %V half the amount of white around lists
  476.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  477. \def\@listv{\leftmargin\leftmarginv \labelsep=.5em
  478.  \topsep=-.5\parskip plus 1pt %V half the amount of white around lists
  479.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  480. \def\@listvi{\leftmargin\leftmarginvi \labelsep=.5em
  481.  \topsep=-.5\parskip plus 1pt %V half the amount of white around lists
  482.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  483.  
  484. \leftmargini 2.5em
  485. \leftmarginii 2.2em \leftmarginiii 1.87em
  486. \leftmarginiv 1.7em \leftmarginv 1em
  487. \leftmarginvi 1em
  488. \leftmargin\leftmargini
  489. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  490. \labelsep 5pt
  491. \parsep 0pt
  492.  
  493. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% varia %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  494. \parskip .7em plus .3em minus .2em
  495. \parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em
  496. \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
  497. \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
  498. -\@lowpenalty
  499.  
  500.  
  501. \def\labelenumi{\arabic{enumi}.}
  502. \def\theenumi{\arabic{enumi}}
  503. \def\labelenumii{(\alph{enumii})}
  504. \def\theenumii{\alph{enumii}}
  505. \def\p@enumii{\theenumi}
  506. \def\labelenumiii{\roman{enumiii}.}
  507. \def\theenumiii{\roman{enumiii}}
  508. \def\p@enumiii{\theenumi(\theenumii)}
  509. \def\labelenumiv{\Alph{enumiv}.}
  510. \def\theenumiv{\Alph{enumiv}}
  511. \def\p@enumiv{\p@enumiii\theenumiii}
  512.  
  513. \def\labelitemi{$\bullet$}
  514. \def\labelitemii{\bf --}
  515. \def\labelitemiii{$\ast$}
  516. \def\labelitemiv{$\cdot$}
  517. \def\verse{\let\\=\@centercr
  518.  \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent
  519.  \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]}
  520. \let\endverse\endlist
  521. \def\quotation{\list{}{\listparindent 1.5em
  522.  \itemindent\listparindent
  523.  \rightmargin\leftmargin}\item[]}
  524. \let\endquotation=\endlist
  525. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  526. \let\endquote=\endlist
  527.  
  528. \def\descriptionlabel#1{\hspace\labelsep \bf #1}
  529. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  530.  \let\makelabel\descriptionlabel}}
  531. \let\enddescription\endlist
  532.  
  533.  
  534. \def\theequation{\arabic{equation}}
  535.  
  536. \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt
  537. \tabbingsep \labelsep
  538. \skip\@mpfootins = \skip\footins
  539. \fboxsep = 3pt \fboxrule = .4pt
  540.  
  541. \def\footnoterule{\kern-1\p@
  542.  \hrule width .4\columnwidth
  543.  \kern .6\p@}
  544.  
  545. \long\def\@makefntext#1{\noindent
  546.     \hbox to \leftmargini{${\@thefnmark}$.\hfil}#1}
  547.  
  548.  
  549. \c@topnumber=2
  550. \def\topfraction{.7}
  551. \c@bottomnumber=1
  552. \def\bottomfraction{.3}
  553. \c@totalnumber=3
  554. \def\textfraction{.2}
  555. \def\floatpagefraction{.5}
  556. \c@dbltopnumber= 2
  557. \def\dbltopfraction{.7}
  558. \def\dblfloatpagefraction{.5}
  559.  
  560.  
  561. \smallskipamount=.5\parskip \medskipamount=\parskip
  562. \bigskipamount=2\parskip
  563. \pagenumbering{arabic} \onecolumn \@fileswfalse
  564.  
  565. %%%%%%%%%%%%%%%%%%%%%%%%%% labels %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  566. \def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt
  567. \pagestyle{empty}
  568. \let\@texttop=\relax
  569. \topmargin -50pt
  570. \headsep 0pt
  571. \oddsidemargin -35pt
  572. \evensidemargin -35pt
  573. \textheight 10in
  574. \@colht\textheight \@colroom\textheight \vsize\textheight
  575. \textwidth 550pt
  576. \columnsep 25pt
  577. \xpt
  578. \baselineskip=0pt
  579. \lineskip=0pt
  580. \boxmaxdepth=0pt
  581. \twocolumn\relax}
  582. \def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}}
  583.  \vbox to 2in{\vss \box0 \vss}}
  584.  
  585. %%%%%%%%%%%%%%%%%%%%%%%%%%% talen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  586. \ifcase\b@language % 0: Nederlands
  587.    \def\uwbrieftekst{Uw brief van}
  588.    \def\uwkenmerktekst{Uw kenmerk}
  589.    \def\onskenmerktekst{Ons kenmerk}
  590.    \def\datumtekst{Datum}
  591.    \def\geadresseerdetekst{Geadresseerde}
  592.    \def\bladnummertekst{Bladnummer}
  593.    \def\vandaag{\number\day~\ifcase\month\or
  594.      januari\or februari\or maart\or april\or mei\or juni\or juli\or
  595.      augustus\or september\or oktober\or november\or december\fi
  596.      \space \number\year}
  597.    \def\betrefttekst{Onderwerp:}
  598.    \def\bijlagetekst{Bijlage:}
  599.    \def\bijlagentekst{Bijlagen:}
  600.    \def\telefoontekst{telefoon}
  601. \or % 1: Engels
  602.    \def\uwbrieftekst{Your letter of}
  603.    \def\uwkenmerktekst{Your reference}
  604.    \def\onskenmerktekst{Our reference}
  605.    \def\datumtekst{Date}
  606.    \def\geadresseerdetekst{To}
  607.    \def\bladnummertekst{Page}
  608.    \def\vandaag{\ifcase\day\or
  609.        1st\or 2nd\or 3rd\or 4th\or 5th\or
  610.        6th\or 7th\or 8th\or 9th\or 10th\or
  611.        11th\or 12th\or 13th\or 14th\or 15th\or
  612.        16th\or 17th\or 18th\or 19th\or 20th\or
  613.        21st\or 22nd\or 23rd\or 24th\or 25th\or
  614.        26th\or 27th\or 28th\or 29th\or 30th\or
  615.        31st\fi~\ifcase\month\or
  616.        January\or February\or March\or April\or May\or June\or
  617.        July\or August\or September\or October\or November\or December\fi
  618.        \space \number\year}
  619.    \def\betrefttekst{Re:}
  620.    \def\bijlagetekst{Enclosure:}
  621.    \def\bijlagentekst{Enclosures:}
  622.    \def\telefoontekst{telephone}
  623. \or % 2: Amerikaans
  624.    \def\uwbrieftekst{Your letter of}
  625.    \def\uwkenmerktekst{Your reference}
  626.    \def\onskenmerktekst{Our reference}
  627.    \def\datumtekst{Date}
  628.    \def\geadresseerdetekst{To}
  629.    \def\bladnummertekst{Page}
  630.    \def\vandaag{\ifcase\month\or
  631.      January\or February\or March\or April\or May\or June\or
  632.      July\or August\or September\or October\or November\or December\fi
  633.      \space\number\day, \number\year}
  634.    \def\betrefttekst{Re:}
  635.    \def\bijlagetekst{Enclosure:}
  636.    \def\bijlagentekst{Enclosures:}
  637.    \def\telefoontekst{telephone}
  638. \or % 3: Duits
  639.    \def\uwbrieftekst{Ihr Brief vom}
  640.    \def\uwkenmerktekst{Ihr Zeichen}
  641.    \def\onskenmerktekst{Unser Zeichen}
  642.    \def\datumtekst{Datum}
  643.    \def\geadresseerdetekst{An}
  644.    \def\bladnummertekst{Seite}
  645.    \def\vandaag{\number\day.~\ifcase\month\or
  646.      Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
  647.      Juli\or August\or September\or Oktober\or November\or Dezember\fi
  648.      \space\number\year}
  649.    \def\betrefttekst{Betrifft:}
  650.    \def\bijlagetekst{Anlage:}
  651.    \def\bijlagentekst{Anlagen:}
  652.    \def\telefoontekst{Telefon}
  653. \or % 4: Frans
  654.    \def\uwbrieftekst{Votre lettre du}
  655.    \def\uwkenmerktekst{Vos r\'ef\'erences:}
  656.    \def\onskenmerktekst{Nos r\'ef\'erences:}
  657.    \def\datumtekst{Date:}
  658.    \def\geadresseerdetekst{\`A l'attention de}
  659.    \def\bladnummertekst{Page}
  660.    \def\vandaag{\number\day\ifnum\day=1$^{er}$\fi
  661.           ~\ifcase\month\or janvier\or
  662.            f\'evrier\or mars\or avril\or mai\or juin\or
  663.            juillet\or ao\^ut\or septembre\or octobre\or
  664.            novembre\or d\'ecembre\fi \space \number\year}
  665.    \def\betrefttekst{Objet:}
  666.    \def\bijlagetekst{Pi\`ece jointe:}
  667.    \def\bijlagentekst{Pi\`eces jointes:}
  668.    \def\telefoontekst{T\'el\'ephone:}
  669. \fi
  670.  
  671. %% and finally, muchos against my will, emulation of original
  672. %% LaTeX letter style.
  673. \let\letter=\brief \let\endletter=\endbrief
  674. \let\closing=\afsluiting
  675. \def\signature{\ondertekening}
  676. \let\encl=\bijlagen
  677. \def\address#1{\maakbriefhoofd*{}{#1}}
  678. \let\re=\betreft
  679.  
  680. %% with english translations of extra commands
  681. \let\footitem=\voetitem
  682.  
  683. \endinput
  684.